<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <style>
    * {
      margin: 0px;
      padding: 0px;
    }
    html,
    body {
      height: 100%;
      width: 100%;
      overflow: hidden;
      background-color: darkorange;
    }
  </style>
  <body>
    <div style="background-color: bisque; width: 100%; height: 100%">
      <div id="main" style="width: 100%; height: 100%"></div>
    </div>
    <script src="https://cdn.staticfile.org/echarts/4.3.0/echarts.min.js"></script>

    <script>
      option = {
        backgroundColor: "#2c343c",

        title: {
          text: "Customized Pie",
          left: "center",
          top: 20,
          textStyle: {
            color: "#ccc",
          },
        },

        tooltip: {
          trigger: "item",
          formatter: "{a} <br/>{b} : {c} ({d}%)",
        },

        visualMap: {
          show: false,
          min: 80,
          max: 600,
          inRange: {
            colorLightness: [0, 1],
          },
        },
        series: [
          {
            name: "访问来源",
            type: "pie",
            radius: "55%",
            center: ["50%", "50%"],
            data: [
              { value: 335, name: "直接访问" },
              { value: 310, name: "邮件营销" },
              { value: 274, name: "联盟广告" },
              { value: 235, name: "视频广告" },
              { value: 400, name: "搜索引擎" },
            ].sort(function (a, b) {
              return a.value - b.value;
            }),
            roseType: "radius",
            label: {
              color: "rgba(255, 255, 255, 0.3)",
            },
            labelLine: {
              lineStyle: {
                color: "rgba(255, 255, 255, 0.3)",
              },
              smooth: 0.2,
              length: 10,
              length2: 20,
            },
            itemStyle: {
              color: "#c23531",
              shadowBlur: 200,
              shadowColor: "rgba(0, 0, 0, 0.5)",
            },

            animationType: "scale",
            animationEasing: "elasticOut",
            animationDelay: function (idx) {
              return Math.random() * 200;
            },
          },
        ],
      };

      var myChart = echarts.init(document.getElementById("main"));
      myChart.setOption(option);
    </script>

    <script>
      var root = window.parent;

      root.registerUpdateHandler("panel4", (data) => {});

      myChart.on("mouseover", function (params) {
        //console.log(params);

        root.trigger("panel4", "event4", {
          percent: params.percent,
        });
      });

      //   setInterval(() => {
      //     root.trigger("panel2", "event2", {
      //       msg: "event from panel2",
      //       time: new Date(),
      //     });
      //   }, 1000);
    </script>
  </body>
</html>
